﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Reportes.EntidadesReporte;
using System.Data.SqlClient;
using System.Configuration;

namespace Reportes.AccesoBD
{
    public class ClassContrato
    {
        public EntidadContrato obtenerAfiliado(int nroAfiliado)
        {
            EntidadContrato e = null;

            string strConexion = ConfigurationManager.ConnectionStrings[1].ToString();//.ConnectionString;
            SqlConnection conexion = new SqlConnection(strConexion);
            conexion.Open();
            try
            {
                SqlCommand sqlcmd = new SqlCommand("SELECT Afiliado.nroAfiliado, Persona.nombre, Persona.apellido, Persona.nroDocumento, Plan_Afiliacion.nombre AS nombrePlan, Plan_Afiliacion.precioCuota, Tipo_Documento.nombre AS tipoDocumento "  
                                                    + "FROM Afiliacion INNER JOIN Afiliado ON Afiliacion.nroAfiliado = Afiliado.nroAfiliado INNER JOIN "
                                                    + "Paciente ON Afiliado.nroHCpaciente = Paciente.nroHC AND Afiliado.idPersonaPaciente = Paciente.idPersona AND "
                                                    + "Afiliado.nroAfiliado = Paciente.nroAfiliado INNER JOIN Persona ON Afiliado.idPersonaPaciente = Persona.codPersona AND Paciente.idPersona = Persona.codPersona INNER JOIN "
                                                    + "Tipo_Documento ON Persona.tipoDocumento = Tipo_Documento.codTipoDoc INNER JOIN Plan_Afiliacion ON Afiliacion.idPlan = Plan_Afiliacion.idPlan "
                                                    +"WHERE (Afiliado.nroAfiliado = @nroAfiliado)", conexion);
                sqlcmd.Parameters.Add(new SqlParameter("@nroAfiliado", nroAfiliado));
                SqlDataReader dr = sqlcmd.ExecuteReader();


                while (dr.Read())
                {
                    e = new EntidadContrato();
                    e.NroAfiliado = int.Parse(dr["nroAfiliado"].ToString());
                    e.nombre = dr["nombre"].ToString();
                    e.apellido = dr["apellido"].ToString();
                    e.TipoDocumento = dr["tipoDocumento"].ToString();
                    e.NroDocumento = Convert.ToInt32(dr["nroDocumento"]);
                    e.TipoPlan = dr["nombrePlan"].ToString();
                    e.montoCuota = float.Parse(dr["precioCuota"].ToString());

                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                conexion.Close();
            }

            return e;
        }
    }
}
